--drop table if exists navinfo_stage_0f37;

--创建外部表
create external table if not exists ${hive_db}.navinfo_stage_0f37 (
  tid bigint comment '终端sim卡号，手机号',
  gpstime bigint comment '数据上报时间',
  latitude int comment '转换后的纬度',
  longitude int comment '转换后的经度',
  height int comment '高程',
  engineoutputtorque int comment '发动机实际输出扭矩百分比 或 cn6 发动机净输出扭矩',
  speed int comment 'gps车速(综合车速)',
  accelerator int comment '油门开度',
  brake int comment '制动开关',
  rotation int comment '发动机转速',
  gear int comment '当前挡位',
  clutchswitch int comment '离合器开关',
  realtimeoilconsumption int comment '发动机瞬时油耗',
  fuelconsumptionrate int comment '发动机燃油消耗率 或 cn6 燃油流量',
  version int comment '终端密集版本',
  retransmissionpackets int comment '是否重传包',
  serialnumber bigint comment '序列号',
  receivedate bigint comment 'ta接收数据时间',
  originallat int comment '原始纬度',
  originallng int comment '原始经度',
  protocoltype int comment '协议类型，0为37（默认为37），1为3b协议  2 为cn6',
  vehiclespeed int comment '车速  精度： 每位 1/256 km/h   数据范围：0 ~ 250.996 km/h  “0xff,0xff”表示无效 cn6',
  barometricpressure int comment '大气压力(直接测量或估计值)  精度：0.5 kpa/bit  数据范围：0 ~ 125 kpa  “0xff”表示无效',
  frictiontorque int comment '摩擦扭矩 精度：1%/bit 偏移量：-125 “0xff”表示无效',
  scrupstreamnoxsensoroutput int comment 'scr 上游 nox 传感器输出值',
  scrdownstreamnoxsensoroutput int comment 'scr 下游 nox 传感器输出值',
  reagentallowance int comment '反应剂余量',
  airinflow int comment '进气量',
  scrinlettemperature int comment 'scr 入口温度',
  scroutlettemperature int comment 'scr 出口温度',
  dpfdropoutvoltage int comment 'dpf压差',
  enginecoolanttemperature int comment '发动机冷却液温度',
  tanklevel int comment '油箱液位',
  positioningstate int comment '定位状态   bit0: 0 有效定位，1 无效定位  bit1:北纬南纬  bit2:0 东经 1,西经  bit3~bit7:保留',
  mileage bigint comment '累计里程 cn6',
  rvalue string comment '16进制ascii编码 r值',
  svalue string comment '16进制ascii编码 s值',
  commandunit int comment '命令单元',
  vin string comment '车辆识别码',
  terminalversion int comment '终端软件版本号',
  encryption int comment '数据加密方式',
  rlength int comment 'r值 长度',
  slength int comment 's值 长度',
  enginebrakingstate          int comment '发动机制动状态',
  exhaustbrakingstate         int comment '排气制动状态',
  emptysignal                 int comment '空挡信号',
  exhaustflow                 int comment '排气流量',
  fanspeed                    int comment '风扇转速',
  mechanicalboxgear           int comment '档位（机械箱）',
  instrumentspeed             int comment '仪表车速',
  wheelspeed                  int comment '车轮车速',
  parkingbrakeswitch          int comment '驻车制动开关',
  cruisecontrolsettingswitch  int comment '巡航控制设置开关',
  targetgear                  int comment '目标档位',
  slope                       int comment '坡度',
  load                        int comment '载重',
  fuellevel                   int comment '燃油液位',
  watertemperature            int comment '水温',
  atmosphericpressure         int comment '大气压力',
  intakeairtemperature        int comment '进气温度',
  atmospherictemperature      int comment '大气温度',
  exhaustgastemperature       int comment '排气温度',
  intakemanifoldboostpressure int comment '进气歧管增压压力',
  relativepressure            int comment '相对压力',
  enginetorquemode            int comment '发动机扭矩模式',
  oilpressure                 int comment '机油压力',
  urealevel                   int comment '尿素液位',
  statusflag                  bigint comment '状态标志位',
  brakerate                   int comment '制动踏板开度',
  gpsdirection                int comment 'gsp方向',
  airconditionstatus          int comment '空调压缩机状态',
  transmissionrotation        int comment '变速箱转速',
  auxiliarybrakehandlestatus  int comment '辅助制动手柄开关状态',
  ureainjection               int COMMENT '尿素喷射量（值扩大了1000倍）',
  totalureaInjection          int comment '尿素喷射量（总消耗量）单位：g （扩大100倍）',
  ureaInjectionSignal         int comment '尿素喷射量信号（瞬时）单位：g/h （扩大100倍）',
  ureaPumpPressureSignal      int comment '尿素泵压力信号 单位kPa （扩大100倍）',
  avgGasConsumption           int comment '平均气耗 kg/h',
  part_time int,
  hashtid int) row format delimited fields terminated by '\001' stored as textfile location '${data_path}/stage_import_0f37';

create table if not exists ${hive_db}.navinfo_parquet_0f37(
  tid bigint comment '终端sim卡号，手机号',
  gpstime bigint comment '数据上报时间',
  latitude int comment '转换后的纬度',
  longitude int comment '转换后的经度',
  height int comment '高程',
  engineoutputtorque int comment '发动机实际输出扭矩百分比 或 cn6 发动机净输出扭矩',
  speed int comment 'gps车速(综合车速)',
  accelerator int comment '油门开度',
  brake int comment '制动开关',
  rotation int comment '发动机转速',
  gear int comment '当前挡位',
  clutchswitch int comment '离合器开关',
  realtimeoilconsumption int comment '发动机瞬时油耗',
  fuelconsumptionrate int comment '发动机燃油消耗率 或 cn6 燃油流量',
  version int comment '终端密集版本',
  retransmissionpackets int comment '是否重传包',
  serialnumber bigint comment '序列号',
  receivedate bigint comment 'ta接收数据时间',
  originallat int comment '原始纬度',
  originallng int comment '原始经度',
  protocoltype int comment '协议类型，0为37（默认为37），1为3b协议  2 为cn6',
  vehiclespeed int comment '车速  精度： 每位 1/256 km/h   数据范围：0 ~ 250.996 km/h  “0xff,0xff”表示无效 cn6',
  barometricpressure int comment '大气压力(直接测量或估计值)  精度：0.5 kpa/bit  数据范围：0 ~ 125 kpa  “0xff”表示无效',
  frictiontorque int comment '摩擦扭矩 精度：1%/bit 偏移量：-125 “0xff”表示无效',
  scrupstreamnoxsensoroutput int comment 'scr 上游 nox 传感器输出值',
  scrdownstreamnoxsensoroutput int comment 'scr 下游 nox 传感器输出值',
  reagentallowance int comment '反应剂余量',
  airinflow int comment '进气量',
  scrinlettemperature int comment 'scr 入口温度',
  scroutlettemperature int comment 'scr 出口温度',
  dpfdropoutvoltage int comment 'dpf压差',
  enginecoolanttemperature int comment '发动机冷却液温度',
  tanklevel int comment '油箱液位',
  positioningstate int comment '定位状态   bit0: 0 有效定位，1 无效定位  bit1:北纬南纬  bit2:0 东经 1,西经  bit3~bit7:保留',
  mileage bigint comment '累计里程 cn6',
  rvalue string comment '16进制ascii编码 r值',
  svalue string comment '16进制ascii编码 s值',
  commandunit int comment '命令单元',
  vin string comment '车辆识别码',
  terminalversion int comment '终端软件版本号',
  encryption int comment '数据加密方式',
  rlength int comment 'r值 长度',
  slength int comment 's值 长度',
  enginebrakingstate          int comment '发动机制动状态',
  exhaustbrakingstate         int comment '排气制动状态',
  emptysignal                 int comment '空挡信号',
  exhaustflow                 int comment '排气流量',
  fanspeed                    int comment '风扇转速',
  mechanicalboxgear           int comment '档位（机械箱）',
  instrumentspeed             int comment '仪表车速',
  wheelspeed                  int comment '车轮车速',
  parkingbrakeswitch          int comment '驻车制动开关',
  cruisecontrolsettingswitch  int comment '巡航控制设置开关',
  targetgear                  int comment '目标档位',
  slope                       int comment '坡度',
  load                        int comment '载重',
  fuellevel                   int comment '燃油液位',
  watertemperature            int comment '水温',
  atmosphericpressure         int comment '大气压力',
  intakeairtemperature        int comment '进气温度',
  atmospherictemperature      int comment '大气温度',
  exhaustgastemperature       int comment '排气温度',
  intakemanifoldboostpressure int comment '进气歧管增压压力',
  relativepressure            int comment '相对压力',
  enginetorquemode            int comment '发动机扭矩模式',
  oilpressure                 int comment '机油压力',
  urealevel                   int comment '尿素液位',
  statusflag                  bigint comment '状态标志位',
  brakerate                   int comment '制动踏板开度',
  gpsdirection                int comment 'gsp方向',
  airconditionstatus          int comment '空调压缩机状态',
  transmissionrotation        int comment '变速箱转速',
  auxiliarybrakehandlestatus  int comment '辅助制动手柄开关状态',
  ureainjection               int COMMENT '尿素喷射量（值扩大了1000倍）',
  totalureaInjection          int comment '尿素喷射量（总消耗量）单位：g （扩大100倍）',
    ureaInjectionSignal         int comment '尿素喷射量信号（瞬时）单位：g/h （扩大100倍）',
    ureaPumpPressureSignal      int comment '尿素泵压力信号 单位kPa （扩大100倍）',
  avgGasConsumption           int comment '平均气耗 kg/h',
  create_time                 string comment '脚本写入数据到hdfs的时间'
) partitioned by (part_time int,hashtid int) stored as parquet tblproperties('parquet.compression'='snappy');
